package dao

// 这是 PmsBrand 的全局公开dao对象，被service层调用!
var PmsBrandDao = pmsBrandDao{}

// 这是 pms_brand表 的实体类
type PmsBrand struct {
	Id                  int64  `json:"id"`
	Name                string `json:"name"`
	FirstLetter         string `json:"first_letter"` // 首字母
	Sort                int32  `json:"sort"`
	FactoryStatus       int32  `json:"factory_status"` // 是否为品牌制造商：0-&gt;不是；1-&gt;是
	ShowStatus          int32  `json:"show_status"`
	ProductCount        int32  `json:"product_count"`         // 产品数量
	ProductCommentCount int32  `json:"product_comment_count"` // 产品评论数量
	Logo                string `json:"logo"`                  // 品牌logo
	BigPic              string `json:"big_pic"`               // 专区大图
	BrandStory          string `json:"brand_story"`           // 品牌故事

}

// 注意:这是 PmsBrand 的私有dao对象，只能在dao层内使用!
type pmsBrandDao struct {
	InsertTemplate      func(arg PmsBrandParam) (int64, error)
	UpdateTemplate      func(arg PmsBrandParam) (int64, error)
	DeleteTemplate      func(id int) (int64, error)                       `args:"id"`
	SelectTemplate      func(id int) (PmsBrand, error)                    `args:"id"`
	DeleteBatch         func(ids []int) (int64, error)                    `args:"ids"`
	UpdateShowStatus    func(ids []int, showStatus int) (int64, error)    `args:"ids,show_status"`
	UpdateFactoryStatus func(ids []int, factoryStatus int) (int64, error) `args:"ids,factory_status"`
	List                func(arg PmsBrandList) ([]PmsBrand, error)
	ListAll             func() ([]PmsBrand, error)
}

type PmsBrandParam struct {
	Id            int64  `json:"id"`
	Name          string `json:"name" form:"name"`                     //品牌名称
	FirstLetter   string `json:"first_letter" form:"first_letter"`     // 品牌首字母
	Sort          int32  `json:"sort" form:"sort"`                     //排序字段
	FactoryStatus int32  `json:"factory_status" form:"factory_status"` //参数检验:如果factory_status 是0或1==>厂家状态不正确 (注释:是否为厂家制造商)
	ShowStatus    int32  `json:"show_status" form:"show_status"`       //参数检验:如果show_status 是0或1==>显示状态不正确(注释:是否进行显示)
	Logo          string `json:"logo" form:"logo"`                     // 品牌logo
	BigPic        string `json:"big_pic" form:"big_pic"`               // 专区大图
	BrandStory    string `json:"brand_story" form:"brand_story"`       // 品牌故事
}

type PmsBrandList struct {
	Keyword string `json:"keyword" form:"keyword"`
	Page
}
